package org.turbobytes.unikey.generator.table.dao;

import java.sql.Connection;

import org.turbobytes.unikey.generator.table.TableConfiguration;

/**
 * IdGenerator needs to do 3 types of logic. Configuration Logic, Data Access
 * Logic and Id Generation Logic. This interface abstracts out Data Access Logic
 * into its own abstraction and provides a clean separation of concerns
 * 
 * @author Ganeshji Marwaha
 * @since Aug 9, 2010
 */
public interface TableIdGeneratorDao {

  public TableConfiguration getConfiguration();

  public void setConfiguration(TableConfiguration configuration);

  public void initDbIfNecessary(Connection connection) ;

  public long getContextValue(Connection connection, String contextName);

}
